export interface TaskStatus {
  labelName: string
  labelId: number | string
}

export interface PageForm {
  projectName: string
  labelId: number | string
  columns: 'updateTime' | 'createTime'
  order: 'desc' | 'asc'
  offset: number
  limit: number
}
export interface FavoriteResponse {
  /**
   * 收藏时间
   */
  createTime?: null | string
  /**
   * 1:课程，2：项目案例，3：数据集，4：模型
   */
  favoriteType?: number | null
  /**
   * id
   */
  id: number
  /**
   * 收藏对象id
   */
  objectId?: number | null
  /**
   * 收藏对象名称
   */
  objectName?: null | string
  /**
   * 用户id
   */
  userId?: number | null
}
export interface LabelInfo {
  id: string
  projectId: string
  labelId: string
  labelName: string
}

/**
 * 打榜竞技任务表
 *
 * TaskDTO
 */
export interface Record {
  /**
   * 活动开始时间
   */
  beginTime: string
  /**
   * 描述
   */
  description: string
  /**
   * 活动结束时间
   */
  endTime: string
  id: number | string
  labelIds?: number[]
  /**
   * 任务标签
   */
  labels: string[]
  name: string
  /**
   * 参与人数
   */
  participantNum: number
  /**
   * 状态  0-未开始  1-进行中  2-已结束
   */
  status: string
  joinStatus: boolean
}

export interface ListData {
  code: string
  timestamp: number
  status: string
  success: boolean
  message: string
  data: {
    records: Record[]
    total: number
    size: number
    current: number
    orders: any[] // You can replace 'any[]' with the actual type
    optimizeCountSql: boolean
    searchCount: boolean
    pages: number
  }
}
export interface DictionaryType {
  id: string
  createTime: string
  updateTime: string
  type: string
  k: number
  v: string
  sort: number
}

/**
 * Request
 */
export interface DetailType {
  /**
   * 评测数据集名称
   */
  assessmentDataName?: string
  /**
   * 活动开始时间
   */
  beginTime?: string
  /**
   * 描述
   */
  description?: string
  /**
   * 打榜说明文档地址
   */
  docUrl?: string
  /**
   * 活动结束时间
   */
  endTime?: string
  id?: string
  /**
   * 标签集合
   */
  labelNames?: string[]
  /**
   * 名称
   */
  name?: string
  /**
   * 参与人数
   */
  participantNum?: number
  /**
   * 状态  0-未开始  1-进行中  2-已结束
   */
  status?: string
  /**
   * 训练数据文件地址
   */
  trainDataUrl?: string
  isParticipated?: boolean
}

export interface DataUrls {
  /**
   * 文件大小
   */
  fileSize: number
  /**
   * 文件地址集合
   */
  fileUrls: string[]
}

/**
 * ProjectLabelInfoVO
 */
export interface ProjectLabelInfoVO {
  /**
   * 唯一标识
   */
  id: number
  /**
   * 分类id
   */
  labelId?: number | null
  /**
   * 分类名称
   */
  labelName?: string
  /**
   * 项目id
   */
  projectId?: number | null
}

/**
 * FileTree
 */
export interface FileTree {
  /**
   * 子文件集合
   */
  childList?: FileTree[] | null
  /**
   * 是否为文件夹
   */
  isDir?: boolean | null
  /**
   * 文件名
   */
  name?: null | string
  /**
   * 文件路径
   */
  path?: null | string
  defultPath?: string
}
